//
// File:	GuiManager.hpp
// Author:	Thomas TISSOT-DUPONT
// Login:	<thomas.tissotdupont@free.fr>
//
// Create:	28/01/2010 at 18:35:33
// Purpose:	
//
#ifndef GUIMANAGER_HPP
#define GUIMANAGER_HPP

#include <map>
#include <QtGui/QStackedWidget>
#include "IGuiManager.hpp"

class GuiManager : public IGuiManager
{
public:
											GuiManager();
											~GuiManager();

public:
	bool									Init(bool);

public:
	bool									AddPanel(const std::string &, IGuiPanel *);
	IGuiPanel								*RemovePanel(const std::string &);
	IGuiPanel								*FindPanel(const std::string &);
	bool									ShowPanel(const std::string &);

public:
	void									SetVisible(bool);
	bool									IsVisible() const;
	IGuiPanel								*GetCurrentPanel() const;

private:
	QStackedWidget							*m_pPanelStack;
	std::map<std::string, IGuiPanel *>		m_panelMap;
};

#endif //!GUIMANAGER_HPP
